/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package principal;


import apresentacao.InterfaceInicial;
import apresentacao.PainelCadeia;
import apresentacao.ShowCadeia;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JSeparator;
import javax.swing.JTabbedPane;
import javax.swing.SwingConstants;
import logica.CadeiaBO;
import logica.DisciplinaBO;
import transferencia.CadeiaTO;

/**
 *
 * @author lljotall/tribek
 */
public class CadeiasCriticas {
    JFrame janela;
    InterfaceInicial interfaceInicial;

    /**
     * @param args the command line arguments
     */
/*Função principal*/
    public static void main(String[] args) {
        CadeiasCriticas cc = new CadeiasCriticas();
        cc.janela = new JFrame();
        cc.createAndShowGUI();
    }
    
    /*Método que cria a interface. É chamado na função Main*/
    public void createAndShowGUI() {
        interfaceInicial = new InterfaceInicial();
        interfaceInicial.setReferenciaProjeto(this);
        
        janela.add(interfaceInicial, BorderLayout.CENTER);
        Dimension d = interfaceInicial.getPreferredSize();
        janela.setSize((int)d.getWidth()+15, (int)d.getHeight()+40);
        
        janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        janela.setVisible(true);
        
    }
      
  public void consulta(DefaultListModel lista){
        List<CadeiaTO> cadeias = CadeiaBO.getCadeiasCriticas(lista);
        
        ShowCadeia cadeiasGUI = new ShowCadeia();
        cadeiasGUI.setReferenciaProjeto(this);
        for(CadeiaTO c: cadeias) {
            /*Se temos mais de uma disciplina com altura máxima*/
            cadeiasGUI.addCadeia(c.getSiglaRaiz(), DisciplinaBO.getDisciplinaSigla(c.getSiglaRaiz()).getNome(), c);
        }
        Dimension d = cadeiasGUI.getPreferredSize();
        janela.setSize((int)d.getWidth()+30, (int)d.getHeight()+50);
        janela.add(cadeiasGUI, BorderLayout.CENTER);
        janela.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        
        janela.setVisible(true);
    }
  
  public void volta(){
      interfaceInicial.setVisible(true);
      interfaceInicial.limpaLista();
      
      Dimension d = interfaceInicial.getPreferredSize();
      janela.setSize((int)d.getWidth()+15, (int)d.getHeight()+40);
  }
}
